package com.randi.system.domain.dto.sysMenu;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;

/**
 * @author ziye
 */
@Data
@ApiModel(value = "菜单")
public class MenuDTO {

    @ApiModelProperty(value = "菜单ID", notes = "修改时必选")
    private Long menuId;

    @ApiModelProperty(value = "上级菜单ID")
    private Long parentId;

    @NotBlank(message = "菜单名称不能为空")
    @ApiModelProperty(value = "菜单名称")
    private String menuName;

    @ApiModelProperty(value = "菜单图标")
    private String menuIcon;

    @NotBlank(message = "权限标识不能为空")
    @ApiModelProperty(value = "权限标识")
    private String menuCode;

    @NotBlank(message = "路由地址不能为空")
    @ApiModelProperty(value = "路由地址")
    private String menuPath;

    @NotBlank(message = "组件路径不能为空")
    @ApiModelProperty(value = "组件路径")
    private String component;

    @ApiModelProperty(value = "路由参数")
    private String query;

    @ApiModelProperty(value = "显示顺序")
    private Integer orderNum;

    @ApiModelProperty(value = "离开标签页是否关闭", notes = "0：否 1：是")
    private Integer tabClose;

    @ApiModelProperty(value = "链接类型", notes = "0：内部 1：外部")
    private Integer linkType;

    @ApiModelProperty(value = "是否缓存", notes = "0：不缓存 1：缓存")
    private Integer cacheEnable;

    @ApiModelProperty(value = "显示状态", notes = "0：显示 1：隐藏")
    private Integer visible;

    @ApiModelProperty(value = "菜单状态", notes = "0：正常 1：停用")
    private Integer status;

}
